package cl.uchile.sti.authorization;

import cl.uchile.sti.authorization.dao.*;
import cl.uchile.sti.authorization.model.Modulo;
import cl.uchile.sti.authorization.model.Permiso;
import cl.uchile.sti.authorization.model.Rol;
import cl.uchile.sti.authorization.model.Usuario;

public class App 
{
    public static void main( String[] args )
    {

        cambiarPorSpring.getEntityManager().getTransaction().begin();

        /** insert **/


        Modulo modulo = new Modulo("modulo", "http://somewhere.cl/index.xhtml");
        ModuloDAO.save(modulo);
        Permiso permiso1 = new Permiso("permiso1");
        permiso1.setModulo(modulo);
        Permiso permiso2 = new Permiso("permiso2");
        permiso2.setModulo(modulo);
        Rol rol = new Rol("rol");
        rol.addPermiso(permiso1);
        rol.addPermiso(permiso2);
        RolDAO.save(rol);
        System.out.println(rol);
        Usuario usuario = new Usuario("user");
        UsuarioDAO.save(usuario);

        /** select **/

        /** update **/
        if(permiso2 != null){
            permiso2.setNombre("permiso2.0.1");
            PermisoDAO.save(permiso2);

            /** delete **/
            PermisoDAO.delete(permiso2);
        }

        System.out.println("Done");
        cambiarPorSpring.getEntityManager().getTransaction().commit();
        cambiarPorSpring.getEntityManager().close();
    }
}
